package com.hqully.smartfumehood.service;

import com.hqully.smartfumehood.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;

import java.util.Map;


/**
 * <p>
 *     用户操作服务类
 * </p>
 * @author liulingyu
 * @date 2022-3-09 20:48
 * @version 1.0
 */
@Service
public interface UserService extends IService<User> {



    /**
     * <p>
     *     通过用户名查找用户
     * </p>
     * @date 2022/5/7 20:49 <br>
     * @author liulingyu <br>
     * @param username 用户名
     * @return {@link User} 用户对象
     */
    public User findUserByUsername(String username);


    /**
     * <p>
     *     通过用户名查找用户角色
     * </p>
     * @date 2022/5/7 20:49 <br>
     * @author liulingyu <br>
     * @param username 用户名
     * @return {@link String} 用户对象
     */
    public String findRoleByUsername(String username);


    /**
     * <p>
     *     项目早期测试接口
     * </p>
     * @deprecated
     * @date 2022/5/7 20:50 <br>
     * @author liulingyu <br>
     * @param userId 用户id
     * @return {@link Map< String, String>}
     */
    public Map<String,String> getUserInfo(String userId);

    /**
     * <p>
     *     根据[username]的参数条件查询该用户所属单位ID
     * </p>
     * @date 2022/5/8 15:28 <br>
     * @author liulingyu <br>
     * @param username 用户名
     * @return {@link Long} 单位ID
     */
    Long findUnitByUsername(String username);


    /**
     * <p>
     *     添加新用户
     * </p>
     * @date 2022/6/30 20:03 <br>
     * @author liulingyu <br>
     * @param user 用户实体类
     * @return {@link int}
     */
    int addUser(User user);

    /**
     * <p>
     *     账号注册接口
     * </p>
     * @date 2022/7/7 9:33 <br>
     * @author liulingyu <br>
     * @param user 用户实体类
     * @return {@link int}
     */
    int register(User user);



}
